using System;
using System.Collections.Generic;
using System.Text;

namespace StateMachine.Runtime
{
	public class StateNode
	{
		private string name;
		private List<Transaction> transactions;
		private bool isFinal;

		public StateNode( string name, bool isFinal )
		{
			if ( String.IsNullOrEmpty( name ) ) throw new ArgumentNullException( "name" );

			this.name = name;
			this.isFinal = isFinal;
			this.transactions = new List<Transaction>();
		}


		public bool IsFinal
		{
			get { return this.isFinal; }
		}

		public List<Transaction> Transactions
		{
			get { return this.transactions; }
		}

		public string Name
		{
			get { return this.name;	}
		}
	}
}
